﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes.hive
{
	// Token: 0x02000426 RID: 1062
	public class THiveTableFileFormat : TParseTreeNode
	{
		// Token: 0x1700096A RID: 2410
		// (get) Token: 0x060028F3 RID: 10483 RVA: 0x0033D1B4 File Offset: 0x0033B3B4
		// (set) Token: 0x060028F4 RID: 10484 RVA: 0x0033D1BC File Offset: 0x0033B3BC
		public virtual TObjectName GenericSpec
		{
			get
			{
				return this.genericSpec;
			}
			set
			{
				this.genericSpec = value;
			}
		}

		// Token: 0x1700096B RID: 2411
		// (get) Token: 0x060028F5 RID: 10485 RVA: 0x0033D1C5 File Offset: 0x0033B3C5
		// (set) Token: 0x060028F6 RID: 10486 RVA: 0x0033D1CD File Offset: 0x0033B3CD
		public virtual TObjectName InDriver
		{
			get
			{
				return this.inDriver;
			}
			set
			{
				this.inDriver = value;
			}
		}

		// Token: 0x1700096C RID: 2412
		// (get) Token: 0x060028F7 RID: 10487 RVA: 0x0033D1D6 File Offset: 0x0033B3D6
		// (set) Token: 0x060028F8 RID: 10488 RVA: 0x0033D1DE File Offset: 0x0033B3DE
		public virtual TObjectName InFmt
		{
			get
			{
				return this.inFmt;
			}
			set
			{
				this.inFmt = value;
			}
		}

		// Token: 0x1700096D RID: 2413
		// (get) Token: 0x060028F9 RID: 10489 RVA: 0x0033D1E7 File Offset: 0x0033B3E7
		// (set) Token: 0x060028FA RID: 10490 RVA: 0x0033D1EF File Offset: 0x0033B3EF
		public virtual TObjectName OutDriver
		{
			get
			{
				return this.outDriver;
			}
			set
			{
				this.outDriver = value;
			}
		}

		// Token: 0x1700096E RID: 2414
		// (get) Token: 0x060028FB RID: 10491 RVA: 0x0033D1F8 File Offset: 0x0033B3F8
		// (set) Token: 0x060028FC RID: 10492 RVA: 0x0033D200 File Offset: 0x0033B400
		public virtual TObjectName OutFmt
		{
			get
			{
				return this.outFmt;
			}
			set
			{
				this.outFmt = value;
			}
		}

		// Token: 0x1700096F RID: 2415
		// (get) Token: 0x060028FD RID: 10493 RVA: 0x0033D209 File Offset: 0x0033B409
		// (set) Token: 0x060028FE RID: 10494 RVA: 0x0033D211 File Offset: 0x0033B411
		public virtual List<THiveKeyValueProperty> Serdeprops
		{
			get
			{
				return this.serdeprops;
			}
			set
			{
				this.serdeprops = value;
			}
		}

		// Token: 0x17000970 RID: 2416
		// (get) Token: 0x060028FF RID: 10495 RVA: 0x0033D21A File Offset: 0x0033B41A
		// (set) Token: 0x06002900 RID: 10496 RVA: 0x0033D222 File Offset: 0x0033B422
		public virtual TObjectName StorageHandler
		{
			get
			{
				return this.storageHandler;
			}
			set
			{
				this.storageHandler = value;
			}
		}

		// Token: 0x17000971 RID: 2417
		// (get) Token: 0x06002901 RID: 10497 RVA: 0x0033D22B File Offset: 0x0033B42B
		// (set) Token: 0x06002902 RID: 10498 RVA: 0x0033D233 File Offset: 0x0033B433
		public virtual EHiveStoredFileFormat FileFormat
		{
			get
			{
				return this.fileFormat;
			}
			set
			{
				this.fileFormat = value;
			}
		}

		// Token: 0x06002903 RID: 10499 RVA: 0x0033D23C File Offset: 0x0033B43C
		public override void init(object arg1)
		{
			this.fileFormat = (EHiveStoredFileFormat)arg1;
		}

		// Token: 0x06002904 RID: 10500 RVA: 0x0033D24A File Offset: 0x0033B44A
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			if (this.fileFormat == EHiveStoredFileFormat.sffSTORAGEHANDLER)
			{
				this.storageHandler = (TObjectName)arg2;
				return;
			}
			if (this.fileFormat == EHiveStoredFileFormat.sffFILEFORMAT_GENERIC)
			{
				this.genericSpec = (TObjectName)arg2;
			}
		}

		// Token: 0x06002905 RID: 10501 RVA: 0x0033D280 File Offset: 0x0033B480
		public override void init(object arg1, object arg2, object arg3)
		{
			this.init(arg1);
			if (this.fileFormat == EHiveStoredFileFormat.sffTABLEFILEFORMAT)
			{
				this.inFmt = (TObjectName)arg2;
				this.outFmt = (TObjectName)arg3;
				return;
			}
			if (this.fileFormat == EHiveStoredFileFormat.sffSTORAGEHANDLER)
			{
				this.storageHandler = (TObjectName)arg2;
				this.serdeprops = (List<THiveKeyValueProperty>)arg3;
			}
		}

		// Token: 0x06002906 RID: 10502 RVA: 0x0033D2D7 File Offset: 0x0033B4D7
		public override void init(object arg1, object arg2, object arg3, object arg4, object arg5)
		{
			this.init(arg1, arg2, arg3);
			this.inDriver = (TObjectName)arg4;
			this.outDriver = (TObjectName)arg5;
		}

		// Token: 0x06002907 RID: 10503 RVA: 0x0033D2FC File Offset: 0x0033B4FC
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002908 RID: 10504 RVA: 0x0033D30C File Offset: 0x0033B50C
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001E88 RID: 7816
		private EHiveStoredFileFormat fileFormat;

		// Token: 0x04001E89 RID: 7817
		private TObjectName inFmt;

		// Token: 0x04001E8A RID: 7818
		private TObjectName outFmt;

		// Token: 0x04001E8B RID: 7819
		private TObjectName inDriver;

		// Token: 0x04001E8C RID: 7820
		private TObjectName outDriver;

		// Token: 0x04001E8D RID: 7821
		private TObjectName storageHandler;

		// Token: 0x04001E8E RID: 7822
		private TObjectName genericSpec;

		// Token: 0x04001E8F RID: 7823
		private List<THiveKeyValueProperty> serdeprops;
	}
}
